package com.adms.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ReformExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ReformExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andReformIdIsNull() {
            addCriterion("reform.reform_id is null");
            return (Criteria) this;
        }

        public Criteria andReformIdIsNotNull() {
            addCriterion("reform.reform_id is not null");
            return (Criteria) this;
        }

        public Criteria andReformIdEqualTo(Integer value) {
            addCriterion("reform.reform_id =", value, "reformId");
            return (Criteria) this;
        }

        public Criteria andReformIdNotEqualTo(Integer value) {
            addCriterion("reform.reform_id <>", value, "reformId");
            return (Criteria) this;
        }

        public Criteria andReformIdGreaterThan(Integer value) {
            addCriterion("reform.reform_id >", value, "reformId");
            return (Criteria) this;
        }

        public Criteria andReformIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("reform.reform_id >=", value, "reformId");
            return (Criteria) this;
        }

        public Criteria andReformIdLessThan(Integer value) {
            addCriterion("reform.reform_id <", value, "reformId");
            return (Criteria) this;
        }

        public Criteria andReformIdLessThanOrEqualTo(Integer value) {
            addCriterion("reform.reform_id <=", value, "reformId");
            return (Criteria) this;
        }

        public Criteria andReformIdIn(List<Integer> values) {
            addCriterion("reform.reform_id in", values, "reformId");
            return (Criteria) this;
        }

        public Criteria andReformIdNotIn(List<Integer> values) {
            addCriterion("reform.reform_id not in", values, "reformId");
            return (Criteria) this;
        }

        public Criteria andReformIdBetween(Integer value1, Integer value2) {
            addCriterion("reform.reform_id between", value1, value2, "reformId");
            return (Criteria) this;
        }

        public Criteria andReformIdNotBetween(Integer value1, Integer value2) {
            addCriterion("reform.reform_id not between", value1, value2, "reformId");
            return (Criteria) this;
        }

        public Criteria andSiteIdIsNull() {
            addCriterion("reform.site_id is null");
            return (Criteria) this;
        }

        public Criteria andSiteIdIsNotNull() {
            addCriterion("reform.site_id is not null");
            return (Criteria) this;
        }

        public Criteria andSiteIdEqualTo(Integer value) {
            addCriterion("reform.site_id =", value, "siteId");
            return (Criteria) this;
        }

        public Criteria andSiteIdNotEqualTo(Integer value) {
            addCriterion("reform.site_id <>", value, "siteId");
            return (Criteria) this;
        }

        public Criteria andSiteIdGreaterThan(Integer value) {
            addCriterion("reform.site_id >", value, "siteId");
            return (Criteria) this;
        }

        public Criteria andSiteIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("reform.site_id >=", value, "siteId");
            return (Criteria) this;
        }

        public Criteria andSiteIdLessThan(Integer value) {
            addCriterion("reform.site_id <", value, "siteId");
            return (Criteria) this;
        }

        public Criteria andSiteIdLessThanOrEqualTo(Integer value) {
            addCriterion("reform.site_id <=", value, "siteId");
            return (Criteria) this;
        }

        public Criteria andSiteIdIn(List<Integer> values) {
            addCriterion("reform.site_id in", values, "siteId");
            return (Criteria) this;
        }

        public Criteria andSiteIdNotIn(List<Integer> values) {
            addCriterion("reform.site_id not in", values, "siteId");
            return (Criteria) this;
        }

        public Criteria andSiteIdBetween(Integer value1, Integer value2) {
            addCriterion("reform.site_id between", value1, value2, "siteId");
            return (Criteria) this;
        }

        public Criteria andSiteIdNotBetween(Integer value1, Integer value2) {
            addCriterion("reform.site_id not between", value1, value2, "siteId");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("reform.user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("reform.user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Integer value) {
            addCriterion("reform.user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Integer value) {
            addCriterion("reform.user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Integer value) {
            addCriterion("reform.user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("reform.user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Integer value) {
            addCriterion("reform.user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("reform.user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Integer> values) {
            addCriterion("reform.user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Integer> values) {
            addCriterion("reform.user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Integer value1, Integer value2) {
            addCriterion("reform.user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("reform.user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andRefReformIdIsNull() {
            addCriterion("reform.ref_reform_id is null");
            return (Criteria) this;
        }

        public Criteria andRefReformIdIsNotNull() {
            addCriterion("reform.ref_reform_id is not null");
            return (Criteria) this;
        }

        public Criteria andRefReformIdEqualTo(Integer value) {
            addCriterion("reform.ref_reform_id =", value, "refReformId");
            return (Criteria) this;
        }

        public Criteria andRefReformIdNotEqualTo(Integer value) {
            addCriterion("reform.ref_reform_id <>", value, "refReformId");
            return (Criteria) this;
        }

        public Criteria andRefReformIdGreaterThan(Integer value) {
            addCriterion("reform.ref_reform_id >", value, "refReformId");
            return (Criteria) this;
        }

        public Criteria andRefReformIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("reform.ref_reform_id >=", value, "refReformId");
            return (Criteria) this;
        }

        public Criteria andRefReformIdLessThan(Integer value) {
            addCriterion("reform.ref_reform_id <", value, "refReformId");
            return (Criteria) this;
        }

        public Criteria andRefReformIdLessThanOrEqualTo(Integer value) {
            addCriterion("reform.ref_reform_id <=", value, "refReformId");
            return (Criteria) this;
        }

        public Criteria andRefReformIdIn(List<Integer> values) {
            addCriterion("reform.ref_reform_id in", values, "refReformId");
            return (Criteria) this;
        }

        public Criteria andRefReformIdNotIn(List<Integer> values) {
            addCriterion("reform.ref_reform_id not in", values, "refReformId");
            return (Criteria) this;
        }

        public Criteria andRefReformIdBetween(Integer value1, Integer value2) {
            addCriterion("reform.ref_reform_id between", value1, value2, "refReformId");
            return (Criteria) this;
        }

        public Criteria andRefReformIdNotBetween(Integer value1, Integer value2) {
            addCriterion("reform.ref_reform_id not between", value1, value2, "refReformId");
            return (Criteria) this;
        }

        public Criteria andParentReformIdIsNull() {
            addCriterion("reform.parent_reform_id is null");
            return (Criteria) this;
        }

        public Criteria andParentReformIdIsNotNull() {
            addCriterion("reform.parent_reform_id is not null");
            return (Criteria) this;
        }

        public Criteria andParentReformIdEqualTo(Integer value) {
            addCriterion("reform.parent_reform_id =", value, "parentReformId");
            return (Criteria) this;
        }

        public Criteria andParentReformIdNotEqualTo(Integer value) {
            addCriterion("reform.parent_reform_id <>", value, "parentReformId");
            return (Criteria) this;
        }

        public Criteria andParentReformIdGreaterThan(Integer value) {
            addCriterion("reform.parent_reform_id >", value, "parentReformId");
            return (Criteria) this;
        }

        public Criteria andParentReformIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("reform.parent_reform_id >=", value, "parentReformId");
            return (Criteria) this;
        }

        public Criteria andParentReformIdLessThan(Integer value) {
            addCriterion("reform.parent_reform_id <", value, "parentReformId");
            return (Criteria) this;
        }

        public Criteria andParentReformIdLessThanOrEqualTo(Integer value) {
            addCriterion("reform.parent_reform_id <=", value, "parentReformId");
            return (Criteria) this;
        }

        public Criteria andParentReformIdIn(List<Integer> values) {
            addCriterion("reform.parent_reform_id in", values, "parentReformId");
            return (Criteria) this;
        }

        public Criteria andParentReformIdNotIn(List<Integer> values) {
            addCriterion("reform.parent_reform_id not in", values, "parentReformId");
            return (Criteria) this;
        }

        public Criteria andParentReformIdBetween(Integer value1, Integer value2) {
            addCriterion("reform.parent_reform_id between", value1, value2, "parentReformId");
            return (Criteria) this;
        }

        public Criteria andParentReformIdNotBetween(Integer value1, Integer value2) {
            addCriterion("reform.parent_reform_id not between", value1, value2, "parentReformId");
            return (Criteria) this;
        }

        public Criteria andLegalUserIdIsNull() {
            addCriterion("reform.legal_user_id is null");
            return (Criteria) this;
        }

        public Criteria andLegalUserIdIsNotNull() {
            addCriterion("reform.legal_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andLegalUserIdEqualTo(Integer value) {
            addCriterion("reform.legal_user_id =", value, "legalUserId");
            return (Criteria) this;
        }

        public Criteria andLegalUserIdNotEqualTo(Integer value) {
            addCriterion("reform.legal_user_id <>", value, "legalUserId");
            return (Criteria) this;
        }

        public Criteria andLegalUserIdGreaterThan(Integer value) {
            addCriterion("reform.legal_user_id >", value, "legalUserId");
            return (Criteria) this;
        }

        public Criteria andLegalUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("reform.legal_user_id >=", value, "legalUserId");
            return (Criteria) this;
        }

        public Criteria andLegalUserIdLessThan(Integer value) {
            addCriterion("reform.legal_user_id <", value, "legalUserId");
            return (Criteria) this;
        }

        public Criteria andLegalUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("reform.legal_user_id <=", value, "legalUserId");
            return (Criteria) this;
        }

        public Criteria andLegalUserIdIn(List<Integer> values) {
            addCriterion("reform.legal_user_id in", values, "legalUserId");
            return (Criteria) this;
        }

        public Criteria andLegalUserIdNotIn(List<Integer> values) {
            addCriterion("reform.legal_user_id not in", values, "legalUserId");
            return (Criteria) this;
        }

        public Criteria andLegalUserIdBetween(Integer value1, Integer value2) {
            addCriterion("reform.legal_user_id between", value1, value2, "legalUserId");
            return (Criteria) this;
        }

        public Criteria andLegalUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("reform.legal_user_id not between", value1, value2, "legalUserId");
            return (Criteria) this;
        }

        public Criteria andHandleUserIdIsNull() {
            addCriterion("reform.handle_user_id is null");
            return (Criteria) this;
        }

        public Criteria andHandleUserIdIsNotNull() {
            addCriterion("reform.handle_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andHandleUserIdEqualTo(Integer value) {
            addCriterion("reform.handle_user_id =", value, "handleUserId");
            return (Criteria) this;
        }

        public Criteria andHandleUserIdNotEqualTo(Integer value) {
            addCriterion("reform.handle_user_id <>", value, "handleUserId");
            return (Criteria) this;
        }

        public Criteria andHandleUserIdGreaterThan(Integer value) {
            addCriterion("reform.handle_user_id >", value, "handleUserId");
            return (Criteria) this;
        }

        public Criteria andHandleUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("reform.handle_user_id >=", value, "handleUserId");
            return (Criteria) this;
        }

        public Criteria andHandleUserIdLessThan(Integer value) {
            addCriterion("reform.handle_user_id <", value, "handleUserId");
            return (Criteria) this;
        }

        public Criteria andHandleUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("reform.handle_user_id <=", value, "handleUserId");
            return (Criteria) this;
        }

        public Criteria andHandleUserIdIn(List<Integer> values) {
            addCriterion("reform.handle_user_id in", values, "handleUserId");
            return (Criteria) this;
        }

        public Criteria andHandleUserIdNotIn(List<Integer> values) {
            addCriterion("reform.handle_user_id not in", values, "handleUserId");
            return (Criteria) this;
        }

        public Criteria andHandleUserIdBetween(Integer value1, Integer value2) {
            addCriterion("reform.handle_user_id between", value1, value2, "handleUserId");
            return (Criteria) this;
        }

        public Criteria andHandleUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("reform.handle_user_id not between", value1, value2, "handleUserId");
            return (Criteria) this;
        }

        public Criteria andGridUserIdIsNull() {
            addCriterion("reform.grid_user_id is null");
            return (Criteria) this;
        }

        public Criteria andGridUserIdIsNotNull() {
            addCriterion("reform.grid_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andGridUserIdEqualTo(Integer value) {
            addCriterion("reform.grid_user_id =", value, "gridUserId");
            return (Criteria) this;
        }

        public Criteria andGridUserIdNotEqualTo(Integer value) {
            addCriterion("reform.grid_user_id <>", value, "gridUserId");
            return (Criteria) this;
        }

        public Criteria andGridUserIdGreaterThan(Integer value) {
            addCriterion("reform.grid_user_id >", value, "gridUserId");
            return (Criteria) this;
        }

        public Criteria andGridUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("reform.grid_user_id >=", value, "gridUserId");
            return (Criteria) this;
        }

        public Criteria andGridUserIdLessThan(Integer value) {
            addCriterion("reform.grid_user_id <", value, "gridUserId");
            return (Criteria) this;
        }

        public Criteria andGridUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("reform.grid_user_id <=", value, "gridUserId");
            return (Criteria) this;
        }

        public Criteria andGridUserIdIn(List<Integer> values) {
            addCriterion("reform.grid_user_id in", values, "gridUserId");
            return (Criteria) this;
        }

        public Criteria andGridUserIdNotIn(List<Integer> values) {
            addCriterion("reform.grid_user_id not in", values, "gridUserId");
            return (Criteria) this;
        }

        public Criteria andGridUserIdBetween(Integer value1, Integer value2) {
            addCriterion("reform.grid_user_id between", value1, value2, "gridUserId");
            return (Criteria) this;
        }

        public Criteria andGridUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("reform.grid_user_id not between", value1, value2, "gridUserId");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("reform.type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("reform.type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(Integer value) {
            addCriterion("reform.type =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(Integer value) {
            addCriterion("reform.type <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(Integer value) {
            addCriterion("reform.type >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("reform.type >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(Integer value) {
            addCriterion("reform.type <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(Integer value) {
            addCriterion("reform.type <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<Integer> values) {
            addCriterion("reform.type in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<Integer> values) {
            addCriterion("reform.type not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(Integer value1, Integer value2) {
            addCriterion("reform.type between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("reform.type not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andSiteNameIsNull() {
            addCriterion("reform.site_name is null");
            return (Criteria) this;
        }

        public Criteria andSiteNameIsNotNull() {
            addCriterion("reform.site_name is not null");
            return (Criteria) this;
        }

        public Criteria andSiteNameEqualTo(String value) {
            addCriterion("reform.site_name =", value, "siteName");
            return (Criteria) this;
        }

        public Criteria andSiteNameNotEqualTo(String value) {
            addCriterion("reform.site_name <>", value, "siteName");
            return (Criteria) this;
        }

        public Criteria andSiteNameGreaterThan(String value) {
            addCriterion("reform.site_name >", value, "siteName");
            return (Criteria) this;
        }

        public Criteria andSiteNameGreaterThanOrEqualTo(String value) {
            addCriterion("reform.site_name >=", value, "siteName");
            return (Criteria) this;
        }

        public Criteria andSiteNameLessThan(String value) {
            addCriterion("reform.site_name <", value, "siteName");
            return (Criteria) this;
        }

        public Criteria andSiteNameLessThanOrEqualTo(String value) {
            addCriterion("reform.site_name <=", value, "siteName");
            return (Criteria) this;
        }

        public Criteria andSiteNameLike(String value) {
            addCriterion("reform.site_name like", value, "siteName");
            return (Criteria) this;
        }

        public Criteria andSiteNameNotLike(String value) {
            addCriterion("reform.site_name not like", value, "siteName");
            return (Criteria) this;
        }

        public Criteria andSiteNameIn(List<String> values) {
            addCriterion("reform.site_name in", values, "siteName");
            return (Criteria) this;
        }

        public Criteria andSiteNameNotIn(List<String> values) {
            addCriterion("reform.site_name not in", values, "siteName");
            return (Criteria) this;
        }

        public Criteria andSiteNameBetween(String value1, String value2) {
            addCriterion("reform.site_name between", value1, value2, "siteName");
            return (Criteria) this;
        }

        public Criteria andSiteNameNotBetween(String value1, String value2) {
            addCriterion("reform.site_name not between", value1, value2, "siteName");
            return (Criteria) this;
        }

        public Criteria andUsernameIsNull() {
            addCriterion("reform.username is null");
            return (Criteria) this;
        }

        public Criteria andUsernameIsNotNull() {
            addCriterion("reform.username is not null");
            return (Criteria) this;
        }

        public Criteria andUsernameEqualTo(String value) {
            addCriterion("reform.username =", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotEqualTo(String value) {
            addCriterion("reform.username <>", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameGreaterThan(String value) {
            addCriterion("reform.username >", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameGreaterThanOrEqualTo(String value) {
            addCriterion("reform.username >=", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLessThan(String value) {
            addCriterion("reform.username <", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLessThanOrEqualTo(String value) {
            addCriterion("reform.username <=", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLike(String value) {
            addCriterion("reform.username like", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotLike(String value) {
            addCriterion("reform.username not like", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameIn(List<String> values) {
            addCriterion("reform.username in", values, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotIn(List<String> values) {
            addCriterion("reform.username not in", values, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameBetween(String value1, String value2) {
            addCriterion("reform.username between", value1, value2, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotBetween(String value1, String value2) {
            addCriterion("reform.username not between", value1, value2, "username");
            return (Criteria) this;
        }

        public Criteria andTitleIsNull() {
            addCriterion("reform.title is null");
            return (Criteria) this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion("reform.title is not null");
            return (Criteria) this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion("reform.title =", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotEqualTo(String value) {
            addCriterion("reform.title <>", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThan(String value) {
            addCriterion("reform.title >", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThanOrEqualTo(String value) {
            addCriterion("reform.title >=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThan(String value) {
            addCriterion("reform.title <", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThanOrEqualTo(String value) {
            addCriterion("reform.title <=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLike(String value) {
            addCriterion("reform.title like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotLike(String value) {
            addCriterion("reform.title not like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleIn(List<String> values) {
            addCriterion("reform.title in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotIn(List<String> values) {
            addCriterion("reform.title not in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleBetween(String value1, String value2) {
            addCriterion("reform.title between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotBetween(String value1, String value2) {
            addCriterion("reform.title not between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andContentIsNull() {
            addCriterion("reform.content is null");
            return (Criteria) this;
        }

        public Criteria andContentIsNotNull() {
            addCriterion("reform.content is not null");
            return (Criteria) this;
        }

        public Criteria andContentEqualTo(String value) {
            addCriterion("reform.content =", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotEqualTo(String value) {
            addCriterion("reform.content <>", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThan(String value) {
            addCriterion("reform.content >", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThanOrEqualTo(String value) {
            addCriterion("reform.content >=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThan(String value) {
            addCriterion("reform.content <", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThanOrEqualTo(String value) {
            addCriterion("reform.content <=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLike(String value) {
            addCriterion("reform.content like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotLike(String value) {
            addCriterion("reform.content not like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentIn(List<String> values) {
            addCriterion("reform.content in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotIn(List<String> values) {
            addCriterion("reform.content not in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentBetween(String value1, String value2) {
            addCriterion("reform.content between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotBetween(String value1, String value2) {
            addCriterion("reform.content not between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andImagesIsNull() {
            addCriterion("reform.images is null");
            return (Criteria) this;
        }

        public Criteria andImagesIsNotNull() {
            addCriterion("reform.images is not null");
            return (Criteria) this;
        }

        public Criteria andImagesEqualTo(String value) {
            addCriterion("reform.images =", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesNotEqualTo(String value) {
            addCriterion("reform.images <>", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesGreaterThan(String value) {
            addCriterion("reform.images >", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesGreaterThanOrEqualTo(String value) {
            addCriterion("reform.images >=", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesLessThan(String value) {
            addCriterion("reform.images <", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesLessThanOrEqualTo(String value) {
            addCriterion("reform.images <=", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesLike(String value) {
            addCriterion("reform.images like", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesNotLike(String value) {
            addCriterion("reform.images not like", value, "images");
            return (Criteria) this;
        }

        public Criteria andImagesIn(List<String> values) {
            addCriterion("reform.images in", values, "images");
            return (Criteria) this;
        }

        public Criteria andImagesNotIn(List<String> values) {
            addCriterion("reform.images not in", values, "images");
            return (Criteria) this;
        }

        public Criteria andImagesBetween(String value1, String value2) {
            addCriterion("reform.images between", value1, value2, "images");
            return (Criteria) this;
        }

        public Criteria andImagesNotBetween(String value1, String value2) {
            addCriterion("reform.images not between", value1, value2, "images");
            return (Criteria) this;
        }

        public Criteria andLocationIsNull() {
            addCriterion("reform.location is null");
            return (Criteria) this;
        }

        public Criteria andLocationIsNotNull() {
            addCriterion("reform.location is not null");
            return (Criteria) this;
        }

        public Criteria andLocationEqualTo(String value) {
            addCriterion("reform.location =", value, "location");
            return (Criteria) this;
        }

        public Criteria andLocationNotEqualTo(String value) {
            addCriterion("reform.location <>", value, "location");
            return (Criteria) this;
        }

        public Criteria andLocationGreaterThan(String value) {
            addCriterion("reform.location >", value, "location");
            return (Criteria) this;
        }

        public Criteria andLocationGreaterThanOrEqualTo(String value) {
            addCriterion("reform.location >=", value, "location");
            return (Criteria) this;
        }

        public Criteria andLocationLessThan(String value) {
            addCriterion("reform.location <", value, "location");
            return (Criteria) this;
        }

        public Criteria andLocationLessThanOrEqualTo(String value) {
            addCriterion("reform.location <=", value, "location");
            return (Criteria) this;
        }

        public Criteria andLocationLike(String value) {
            addCriterion("reform.location like", value, "location");
            return (Criteria) this;
        }

        public Criteria andLocationNotLike(String value) {
            addCriterion("reform.location not like", value, "location");
            return (Criteria) this;
        }

        public Criteria andLocationIn(List<String> values) {
            addCriterion("reform.location in", values, "location");
            return (Criteria) this;
        }

        public Criteria andLocationNotIn(List<String> values) {
            addCriterion("reform.location not in", values, "location");
            return (Criteria) this;
        }

        public Criteria andLocationBetween(String value1, String value2) {
            addCriterion("reform.location between", value1, value2, "location");
            return (Criteria) this;
        }

        public Criteria andLocationNotBetween(String value1, String value2) {
            addCriterion("reform.location not between", value1, value2, "location");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNull() {
            addCriterion("reform.longitude is null");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNotNull() {
            addCriterion("reform.longitude is not null");
            return (Criteria) this;
        }

        public Criteria andLongitudeEqualTo(String value) {
            addCriterion("reform.longitude =", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotEqualTo(String value) {
            addCriterion("reform.longitude <>", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThan(String value) {
            addCriterion("reform.longitude >", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThanOrEqualTo(String value) {
            addCriterion("reform.longitude >=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThan(String value) {
            addCriterion("reform.longitude <", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThanOrEqualTo(String value) {
            addCriterion("reform.longitude <=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLike(String value) {
            addCriterion("reform.longitude like", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotLike(String value) {
            addCriterion("reform.longitude not like", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeIn(List<String> values) {
            addCriterion("reform.longitude in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotIn(List<String> values) {
            addCriterion("reform.longitude not in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeBetween(String value1, String value2) {
            addCriterion("reform.longitude between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotBetween(String value1, String value2) {
            addCriterion("reform.longitude not between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeIsNull() {
            addCriterion("reform.latitude is null");
            return (Criteria) this;
        }

        public Criteria andLatitudeIsNotNull() {
            addCriterion("reform.latitude is not null");
            return (Criteria) this;
        }

        public Criteria andLatitudeEqualTo(String value) {
            addCriterion("reform.latitude =", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotEqualTo(String value) {
            addCriterion("reform.latitude <>", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeGreaterThan(String value) {
            addCriterion("reform.latitude >", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeGreaterThanOrEqualTo(String value) {
            addCriterion("reform.latitude >=", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLessThan(String value) {
            addCriterion("reform.latitude <", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLessThanOrEqualTo(String value) {
            addCriterion("reform.latitude <=", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLike(String value) {
            addCriterion("reform.latitude like", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotLike(String value) {
            addCriterion("reform.latitude not like", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeIn(List<String> values) {
            addCriterion("reform.latitude in", values, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotIn(List<String> values) {
            addCriterion("reform.latitude not in", values, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeBetween(String value1, String value2) {
            addCriterion("reform.latitude between", value1, value2, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotBetween(String value1, String value2) {
            addCriterion("reform.latitude not between", value1, value2, "latitude");
            return (Criteria) this;
        }

        public Criteria andPublishTimeIsNull() {
            addCriterion("reform.publish_time is null");
            return (Criteria) this;
        }

        public Criteria andPublishTimeIsNotNull() {
            addCriterion("reform.publish_time is not null");
            return (Criteria) this;
        }

        public Criteria andPublishTimeEqualTo(Date value) {
            addCriterion("reform.publish_time =", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeNotEqualTo(Date value) {
            addCriterion("reform.publish_time <>", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeGreaterThan(Date value) {
            addCriterion("reform.publish_time >", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("reform.publish_time >=", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeLessThan(Date value) {
            addCriterion("reform.publish_time <", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeLessThanOrEqualTo(Date value) {
            addCriterion("reform.publish_time <=", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeIn(List<Date> values) {
            addCriterion("reform.publish_time in", values, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeNotIn(List<Date> values) {
            addCriterion("reform.publish_time not in", values, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeBetween(Date value1, Date value2) {
            addCriterion("reform.publish_time between", value1, value2, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeNotBetween(Date value1, Date value2) {
            addCriterion("reform.publish_time not between", value1, value2, "publishTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNull() {
            addCriterion("reform.end_time is null");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNotNull() {
            addCriterion("reform.end_time is not null");
            return (Criteria) this;
        }

        public Criteria andEndTimeEqualTo(Date value) {
            addCriterion("reform.end_time =", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotEqualTo(Date value) {
            addCriterion("reform.end_time <>", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThan(Date value) {
            addCriterion("reform.end_time >", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("reform.end_time >=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThan(Date value) {
            addCriterion("reform.end_time <", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThanOrEqualTo(Date value) {
            addCriterion("reform.end_time <=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIn(List<Date> values) {
            addCriterion("reform.end_time in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotIn(List<Date> values) {
            addCriterion("reform.end_time not in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeBetween(Date value1, Date value2) {
            addCriterion("reform.end_time between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotBetween(Date value1, Date value2) {
            addCriterion("reform.end_time not between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andMaxEndTimeIsNull() {
            addCriterion("reform.max_end_time is null");
            return (Criteria) this;
        }

        public Criteria andMaxEndTimeIsNotNull() {
            addCriterion("reform.max_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andMaxEndTimeEqualTo(Date value) {
            addCriterion("reform.max_end_time =", value, "maxEndTime");
            return (Criteria) this;
        }

        public Criteria andMaxEndTimeNotEqualTo(Date value) {
            addCriterion("reform.max_end_time <>", value, "maxEndTime");
            return (Criteria) this;
        }

        public Criteria andMaxEndTimeGreaterThan(Date value) {
            addCriterion("reform.max_end_time >", value, "maxEndTime");
            return (Criteria) this;
        }

        public Criteria andMaxEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("reform.max_end_time >=", value, "maxEndTime");
            return (Criteria) this;
        }

        public Criteria andMaxEndTimeLessThan(Date value) {
            addCriterion("reform.max_end_time <", value, "maxEndTime");
            return (Criteria) this;
        }

        public Criteria andMaxEndTimeLessThanOrEqualTo(Date value) {
            addCriterion("reform.max_end_time <=", value, "maxEndTime");
            return (Criteria) this;
        }

        public Criteria andMaxEndTimeIn(List<Date> values) {
            addCriterion("reform.max_end_time in", values, "maxEndTime");
            return (Criteria) this;
        }

        public Criteria andMaxEndTimeNotIn(List<Date> values) {
            addCriterion("reform.max_end_time not in", values, "maxEndTime");
            return (Criteria) this;
        }

        public Criteria andMaxEndTimeBetween(Date value1, Date value2) {
            addCriterion("reform.max_end_time between", value1, value2, "maxEndTime");
            return (Criteria) this;
        }

        public Criteria andMaxEndTimeNotBetween(Date value1, Date value2) {
            addCriterion("reform.max_end_time not between", value1, value2, "maxEndTime");
            return (Criteria) this;
        }

        public Criteria andStateIsNull() {
            addCriterion("reform.state is null");
            return (Criteria) this;
        }

        public Criteria andStateIsNotNull() {
            addCriterion("reform.state is not null");
            return (Criteria) this;
        }

        public Criteria andStateEqualTo(Integer value) {
            addCriterion("reform.state =", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotEqualTo(Integer value) {
            addCriterion("reform.state <>", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThan(Integer value) {
            addCriterion("reform.state >", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("reform.state >=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThan(Integer value) {
            addCriterion("reform.state <", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThanOrEqualTo(Integer value) {
            addCriterion("reform.state <=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateIn(List<Integer> values) {
            addCriterion("reform.state in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotIn(List<Integer> values) {
            addCriterion("reform.state not in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateBetween(Integer value1, Integer value2) {
            addCriterion("reform.state between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotBetween(Integer value1, Integer value2) {
            addCriterion("reform.state not between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andSignTypeIsNull() {
            addCriterion("reform.sign_type is null");
            return (Criteria) this;
        }

        public Criteria andSignTypeIsNotNull() {
            addCriterion("reform.sign_type is not null");
            return (Criteria) this;
        }

        public Criteria andSignTypeEqualTo(Integer value) {
            addCriterion("reform.sign_type =", value, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeNotEqualTo(Integer value) {
            addCriterion("reform.sign_type <>", value, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeGreaterThan(Integer value) {
            addCriterion("reform.sign_type >", value, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("reform.sign_type >=", value, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeLessThan(Integer value) {
            addCriterion("reform.sign_type <", value, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeLessThanOrEqualTo(Integer value) {
            addCriterion("reform.sign_type <=", value, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeIn(List<Integer> values) {
            addCriterion("reform.sign_type in", values, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeNotIn(List<Integer> values) {
            addCriterion("reform.sign_type not in", values, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeBetween(Integer value1, Integer value2) {
            addCriterion("reform.sign_type between", value1, value2, "signType");
            return (Criteria) this;
        }

        public Criteria andSignTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("reform.sign_type not between", value1, value2, "signType");
            return (Criteria) this;
        }

        public Criteria andSignsIsNull() {
            addCriterion("reform.signs is null");
            return (Criteria) this;
        }

        public Criteria andSignsIsNotNull() {
            addCriterion("reform.signs is not null");
            return (Criteria) this;
        }

        public Criteria andSignsEqualTo(String value) {
            addCriterion("reform.signs =", value, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsNotEqualTo(String value) {
            addCriterion("reform.signs <>", value, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsGreaterThan(String value) {
            addCriterion("reform.signs >", value, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsGreaterThanOrEqualTo(String value) {
            addCriterion("reform.signs >=", value, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsLessThan(String value) {
            addCriterion("reform.signs <", value, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsLessThanOrEqualTo(String value) {
            addCriterion("reform.signs <=", value, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsLike(String value) {
            addCriterion("reform.signs like", value, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsNotLike(String value) {
            addCriterion("reform.signs not like", value, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsIn(List<String> values) {
            addCriterion("reform.signs in", values, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsNotIn(List<String> values) {
            addCriterion("reform.signs not in", values, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsBetween(String value1, String value2) {
            addCriterion("reform.signs between", value1, value2, "signs");
            return (Criteria) this;
        }

        public Criteria andSignsNotBetween(String value1, String value2) {
            addCriterion("reform.signs not between", value1, value2, "signs");
            return (Criteria) this;
        }

        public Criteria andHasRemindedIsNull() {
            addCriterion("reform.has_reminded is null");
            return (Criteria) this;
        }

        public Criteria andHasRemindedIsNotNull() {
            addCriterion("reform.has_reminded is not null");
            return (Criteria) this;
        }

        public Criteria andHasRemindedEqualTo(Boolean value) {
            addCriterion("reform.has_reminded =", value, "hasReminded");
            return (Criteria) this;
        }

        public Criteria andHasRemindedNotEqualTo(Boolean value) {
            addCriterion("reform.has_reminded <>", value, "hasReminded");
            return (Criteria) this;
        }

        public Criteria andHasRemindedGreaterThan(Boolean value) {
            addCriterion("reform.has_reminded >", value, "hasReminded");
            return (Criteria) this;
        }

        public Criteria andHasRemindedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("reform.has_reminded >=", value, "hasReminded");
            return (Criteria) this;
        }

        public Criteria andHasRemindedLessThan(Boolean value) {
            addCriterion("reform.has_reminded <", value, "hasReminded");
            return (Criteria) this;
        }

        public Criteria andHasRemindedLessThanOrEqualTo(Boolean value) {
            addCriterion("reform.has_reminded <=", value, "hasReminded");
            return (Criteria) this;
        }

        public Criteria andHasRemindedIn(List<Boolean> values) {
            addCriterion("reform.has_reminded in", values, "hasReminded");
            return (Criteria) this;
        }

        public Criteria andHasRemindedNotIn(List<Boolean> values) {
            addCriterion("reform.has_reminded not in", values, "hasReminded");
            return (Criteria) this;
        }

        public Criteria andHasRemindedBetween(Boolean value1, Boolean value2) {
            addCriterion("reform.has_reminded between", value1, value2, "hasReminded");
            return (Criteria) this;
        }

        public Criteria andHasRemindedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("reform.has_reminded not between", value1, value2, "hasReminded");
            return (Criteria) this;
        }

        public Criteria andCanDeferIsNull() {
            addCriterion("reform.can_defer is null");
            return (Criteria) this;
        }

        public Criteria andCanDeferIsNotNull() {
            addCriterion("reform.can_defer is not null");
            return (Criteria) this;
        }

        public Criteria andCanDeferEqualTo(Boolean value) {
            addCriterion("reform.can_defer =", value, "canDefer");
            return (Criteria) this;
        }

        public Criteria andCanDeferNotEqualTo(Boolean value) {
            addCriterion("reform.can_defer <>", value, "canDefer");
            return (Criteria) this;
        }

        public Criteria andCanDeferGreaterThan(Boolean value) {
            addCriterion("reform.can_defer >", value, "canDefer");
            return (Criteria) this;
        }

        public Criteria andCanDeferGreaterThanOrEqualTo(Boolean value) {
            addCriterion("reform.can_defer >=", value, "canDefer");
            return (Criteria) this;
        }

        public Criteria andCanDeferLessThan(Boolean value) {
            addCriterion("reform.can_defer <", value, "canDefer");
            return (Criteria) this;
        }

        public Criteria andCanDeferLessThanOrEqualTo(Boolean value) {
            addCriterion("reform.can_defer <=", value, "canDefer");
            return (Criteria) this;
        }

        public Criteria andCanDeferIn(List<Boolean> values) {
            addCriterion("reform.can_defer in", values, "canDefer");
            return (Criteria) this;
        }

        public Criteria andCanDeferNotIn(List<Boolean> values) {
            addCriterion("reform.can_defer not in", values, "canDefer");
            return (Criteria) this;
        }

        public Criteria andCanDeferBetween(Boolean value1, Boolean value2) {
            addCriterion("reform.can_defer between", value1, value2, "canDefer");
            return (Criteria) this;
        }

        public Criteria andCanDeferNotBetween(Boolean value1, Boolean value2) {
            addCriterion("reform.can_defer not between", value1, value2, "canDefer");
            return (Criteria) this;
        }

        public Criteria andCanHandleIsNull() {
            addCriterion("reform.can_handle is null");
            return (Criteria) this;
        }

        public Criteria andCanHandleIsNotNull() {
            addCriterion("reform.can_handle is not null");
            return (Criteria) this;
        }

        public Criteria andCanHandleEqualTo(Boolean value) {
            addCriterion("reform.can_handle =", value, "canHandle");
            return (Criteria) this;
        }

        public Criteria andCanHandleNotEqualTo(Boolean value) {
            addCriterion("reform.can_handle <>", value, "canHandle");
            return (Criteria) this;
        }

        public Criteria andCanHandleGreaterThan(Boolean value) {
            addCriterion("reform.can_handle >", value, "canHandle");
            return (Criteria) this;
        }

        public Criteria andCanHandleGreaterThanOrEqualTo(Boolean value) {
            addCriterion("reform.can_handle >=", value, "canHandle");
            return (Criteria) this;
        }

        public Criteria andCanHandleLessThan(Boolean value) {
            addCriterion("reform.can_handle <", value, "canHandle");
            return (Criteria) this;
        }

        public Criteria andCanHandleLessThanOrEqualTo(Boolean value) {
            addCriterion("reform.can_handle <=", value, "canHandle");
            return (Criteria) this;
        }

        public Criteria andCanHandleIn(List<Boolean> values) {
            addCriterion("reform.can_handle in", values, "canHandle");
            return (Criteria) this;
        }

        public Criteria andCanHandleNotIn(List<Boolean> values) {
            addCriterion("reform.can_handle not in", values, "canHandle");
            return (Criteria) this;
        }

        public Criteria andCanHandleBetween(Boolean value1, Boolean value2) {
            addCriterion("reform.can_handle between", value1, value2, "canHandle");
            return (Criteria) this;
        }

        public Criteria andCanHandleNotBetween(Boolean value1, Boolean value2) {
            addCriterion("reform.can_handle not between", value1, value2, "canHandle");
            return (Criteria) this;
        }

        public Criteria andCanConfirmIsNull() {
            addCriterion("reform.can_confirm is null");
            return (Criteria) this;
        }

        public Criteria andCanConfirmIsNotNull() {
            addCriterion("reform.can_confirm is not null");
            return (Criteria) this;
        }

        public Criteria andCanConfirmEqualTo(Boolean value) {
            addCriterion("reform.can_confirm =", value, "canConfirm");
            return (Criteria) this;
        }

        public Criteria andCanConfirmNotEqualTo(Boolean value) {
            addCriterion("reform.can_confirm <>", value, "canConfirm");
            return (Criteria) this;
        }

        public Criteria andCanConfirmGreaterThan(Boolean value) {
            addCriterion("reform.can_confirm >", value, "canConfirm");
            return (Criteria) this;
        }

        public Criteria andCanConfirmGreaterThanOrEqualTo(Boolean value) {
            addCriterion("reform.can_confirm >=", value, "canConfirm");
            return (Criteria) this;
        }

        public Criteria andCanConfirmLessThan(Boolean value) {
            addCriterion("reform.can_confirm <", value, "canConfirm");
            return (Criteria) this;
        }

        public Criteria andCanConfirmLessThanOrEqualTo(Boolean value) {
            addCriterion("reform.can_confirm <=", value, "canConfirm");
            return (Criteria) this;
        }

        public Criteria andCanConfirmIn(List<Boolean> values) {
            addCriterion("reform.can_confirm in", values, "canConfirm");
            return (Criteria) this;
        }

        public Criteria andCanConfirmNotIn(List<Boolean> values) {
            addCriterion("reform.can_confirm not in", values, "canConfirm");
            return (Criteria) this;
        }

        public Criteria andCanConfirmBetween(Boolean value1, Boolean value2) {
            addCriterion("reform.can_confirm between", value1, value2, "canConfirm");
            return (Criteria) this;
        }

        public Criteria andCanConfirmNotBetween(Boolean value1, Boolean value2) {
            addCriterion("reform.can_confirm not between", value1, value2, "canConfirm");
            return (Criteria) this;
        }

        public Criteria andIsContinuedIsNull() {
            addCriterion("reform.is_continued is null");
            return (Criteria) this;
        }

        public Criteria andIsContinuedIsNotNull() {
            addCriterion("reform.is_continued is not null");
            return (Criteria) this;
        }

        public Criteria andIsContinuedEqualTo(Boolean value) {
            addCriterion("reform.is_continued =", value, "isContinued");
            return (Criteria) this;
        }

        public Criteria andIsContinuedNotEqualTo(Boolean value) {
            addCriterion("reform.is_continued <>", value, "isContinued");
            return (Criteria) this;
        }

        public Criteria andIsContinuedGreaterThan(Boolean value) {
            addCriterion("reform.is_continued >", value, "isContinued");
            return (Criteria) this;
        }

        public Criteria andIsContinuedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("reform.is_continued >=", value, "isContinued");
            return (Criteria) this;
        }

        public Criteria andIsContinuedLessThan(Boolean value) {
            addCriterion("reform.is_continued <", value, "isContinued");
            return (Criteria) this;
        }

        public Criteria andIsContinuedLessThanOrEqualTo(Boolean value) {
            addCriterion("reform.is_continued <=", value, "isContinued");
            return (Criteria) this;
        }

        public Criteria andIsContinuedIn(List<Boolean> values) {
            addCriterion("reform.is_continued in", values, "isContinued");
            return (Criteria) this;
        }

        public Criteria andIsContinuedNotIn(List<Boolean> values) {
            addCriterion("reform.is_continued not in", values, "isContinued");
            return (Criteria) this;
        }

        public Criteria andIsContinuedBetween(Boolean value1, Boolean value2) {
            addCriterion("reform.is_continued between", value1, value2, "isContinued");
            return (Criteria) this;
        }

        public Criteria andIsContinuedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("reform.is_continued not between", value1, value2, "isContinued");
            return (Criteria) this;
        }

        public Criteria andIsTimeOverIsNull() {
            addCriterion("reform.is_time_over is null");
            return (Criteria) this;
        }

        public Criteria andIsTimeOverIsNotNull() {
            addCriterion("reform.is_time_over is not null");
            return (Criteria) this;
        }

        public Criteria andIsTimeOverEqualTo(Boolean value) {
            addCriterion("reform.is_time_over =", value, "isTimeOver");
            return (Criteria) this;
        }

        public Criteria andIsTimeOverNotEqualTo(Boolean value) {
            addCriterion("reform.is_time_over <>", value, "isTimeOver");
            return (Criteria) this;
        }

        public Criteria andIsTimeOverGreaterThan(Boolean value) {
            addCriterion("reform.is_time_over >", value, "isTimeOver");
            return (Criteria) this;
        }

        public Criteria andIsTimeOverGreaterThanOrEqualTo(Boolean value) {
            addCriterion("reform.is_time_over >=", value, "isTimeOver");
            return (Criteria) this;
        }

        public Criteria andIsTimeOverLessThan(Boolean value) {
            addCriterion("reform.is_time_over <", value, "isTimeOver");
            return (Criteria) this;
        }

        public Criteria andIsTimeOverLessThanOrEqualTo(Boolean value) {
            addCriterion("reform.is_time_over <=", value, "isTimeOver");
            return (Criteria) this;
        }

        public Criteria andIsTimeOverIn(List<Boolean> values) {
            addCriterion("reform.is_time_over in", values, "isTimeOver");
            return (Criteria) this;
        }

        public Criteria andIsTimeOverNotIn(List<Boolean> values) {
            addCriterion("reform.is_time_over not in", values, "isTimeOver");
            return (Criteria) this;
        }

        public Criteria andIsTimeOverBetween(Boolean value1, Boolean value2) {
            addCriterion("reform.is_time_over between", value1, value2, "isTimeOver");
            return (Criteria) this;
        }

        public Criteria andIsTimeOverNotBetween(Boolean value1, Boolean value2) {
            addCriterion("reform.is_time_over not between", value1, value2, "isTimeOver");
            return (Criteria) this;
        }

        public Criteria andIsLeadingIsNull() {
            addCriterion("reform.is_leading is null");
            return (Criteria) this;
        }

        public Criteria andIsLeadingIsNotNull() {
            addCriterion("reform.is_leading is not null");
            return (Criteria) this;
        }

        public Criteria andIsLeadingEqualTo(Boolean value) {
            addCriterion("reform.is_leading =", value, "isLeading");
            return (Criteria) this;
        }

        public Criteria andIsLeadingNotEqualTo(Boolean value) {
            addCriterion("reform.is_leading <>", value, "isLeading");
            return (Criteria) this;
        }

        public Criteria andIsLeadingGreaterThan(Boolean value) {
            addCriterion("reform.is_leading >", value, "isLeading");
            return (Criteria) this;
        }

        public Criteria andIsLeadingGreaterThanOrEqualTo(Boolean value) {
            addCriterion("reform.is_leading >=", value, "isLeading");
            return (Criteria) this;
        }

        public Criteria andIsLeadingLessThan(Boolean value) {
            addCriterion("reform.is_leading <", value, "isLeading");
            return (Criteria) this;
        }

        public Criteria andIsLeadingLessThanOrEqualTo(Boolean value) {
            addCriterion("reform.is_leading <=", value, "isLeading");
            return (Criteria) this;
        }

        public Criteria andIsLeadingIn(List<Boolean> values) {
            addCriterion("reform.is_leading in", values, "isLeading");
            return (Criteria) this;
        }

        public Criteria andIsLeadingNotIn(List<Boolean> values) {
            addCriterion("reform.is_leading not in", values, "isLeading");
            return (Criteria) this;
        }

        public Criteria andIsLeadingBetween(Boolean value1, Boolean value2) {
            addCriterion("reform.is_leading between", value1, value2, "isLeading");
            return (Criteria) this;
        }

        public Criteria andIsLeadingNotBetween(Boolean value1, Boolean value2) {
            addCriterion("reform.is_leading not between", value1, value2, "isLeading");
            return (Criteria) this;
        }

        public Criteria andFinishTimeIsNull() {
            addCriterion("reform.finish_time is null");
            return (Criteria) this;
        }

        public Criteria andFinishTimeIsNotNull() {
            addCriterion("reform.finish_time is not null");
            return (Criteria) this;
        }

        public Criteria andFinishTimeEqualTo(Date value) {
            addCriterion("reform.finish_time =", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeNotEqualTo(Date value) {
            addCriterion("reform.finish_time <>", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeGreaterThan(Date value) {
            addCriterion("reform.finish_time >", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("reform.finish_time >=", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeLessThan(Date value) {
            addCriterion("reform.finish_time <", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeLessThanOrEqualTo(Date value) {
            addCriterion("reform.finish_time <=", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeIn(List<Date> values) {
            addCriterion("reform.finish_time in", values, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeNotIn(List<Date> values) {
            addCriterion("reform.finish_time not in", values, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeBetween(Date value1, Date value2) {
            addCriterion("reform.finish_time between", value1, value2, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeNotBetween(Date value1, Date value2) {
            addCriterion("reform.finish_time not between", value1, value2, "finishTime");
            return (Criteria) this;
        }

        public Criteria andCancelReasonIsNull() {
            addCriterion("reform.cancel_reason is null");
            return (Criteria) this;
        }

        public Criteria andCancelReasonIsNotNull() {
            addCriterion("reform.cancel_reason is not null");
            return (Criteria) this;
        }

        public Criteria andCancelReasonEqualTo(String value) {
            addCriterion("reform.cancel_reason =", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonNotEqualTo(String value) {
            addCriterion("reform.cancel_reason <>", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonGreaterThan(String value) {
            addCriterion("reform.cancel_reason >", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonGreaterThanOrEqualTo(String value) {
            addCriterion("reform.cancel_reason >=", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonLessThan(String value) {
            addCriterion("reform.cancel_reason <", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonLessThanOrEqualTo(String value) {
            addCriterion("reform.cancel_reason <=", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonLike(String value) {
            addCriterion("reform.cancel_reason like", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonNotLike(String value) {
            addCriterion("reform.cancel_reason not like", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonIn(List<String> values) {
            addCriterion("reform.cancel_reason in", values, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonNotIn(List<String> values) {
            addCriterion("reform.cancel_reason not in", values, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonBetween(String value1, String value2) {
            addCriterion("reform.cancel_reason between", value1, value2, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonNotBetween(String value1, String value2) {
            addCriterion("reform.cancel_reason not between", value1, value2, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelTimeIsNull() {
            addCriterion("reform.cancel_time is null");
            return (Criteria) this;
        }

        public Criteria andCancelTimeIsNotNull() {
            addCriterion("reform.cancel_time is not null");
            return (Criteria) this;
        }

        public Criteria andCancelTimeEqualTo(Date value) {
            addCriterion("reform.cancel_time =", value, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeNotEqualTo(Date value) {
            addCriterion("reform.cancel_time <>", value, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeGreaterThan(Date value) {
            addCriterion("reform.cancel_time >", value, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("reform.cancel_time >=", value, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeLessThan(Date value) {
            addCriterion("reform.cancel_time <", value, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeLessThanOrEqualTo(Date value) {
            addCriterion("reform.cancel_time <=", value, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeIn(List<Date> values) {
            addCriterion("reform.cancel_time in", values, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeNotIn(List<Date> values) {
            addCriterion("reform.cancel_time not in", values, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeBetween(Date value1, Date value2) {
            addCriterion("reform.cancel_time between", value1, value2, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeNotBetween(Date value1, Date value2) {
            addCriterion("reform.cancel_time not between", value1, value2, "cancelTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}